package com.icinfo.cloud.provider.punish.enums;

import com.icinfo.cloud.provider.punish.dto.ZtcCheckObjectContentDto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.ObjectUtils;

@Getter
@AllArgsConstructor
public enum ZtcSourceTypeEnum {

    CF_ZTC("CF_ZTC", "处罚文书直通车", null),

    CHECK_OBJECT("CHECK_OBJECT", "检查对象与检查机构", ZtcCheckObjectContentDto.class);

    /**
     * 编码
     */
    private final String code;
    /**
     * 描述
     */
    private final String des;
    /**
     * 关联内容class
     */
    private final Class<?> contentClass;


    /**
     * 根据code获取value
     *
     * @param code 编码
     * @return 描述内容
     */
    public static String getValueByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (ZtcSourceTypeEnum e : ZtcSourceTypeEnum.values()) {
            if (code.equals(e.getCode())) {
                return e.getDes();
            }
        }
        return null;
    }

    /**
     * 根据code获取对应枚举
     *
     * @param code 编码
     * @return 描述内容
     */
    public static ZtcSourceTypeEnum getZtcSourceTypeEnumByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (ZtcSourceTypeEnum e : ZtcSourceTypeEnum.values()) {
            if (code.equals(e.getCode())) {
                return e;
            }
        }
        return null;
    }


}
